%{
#include "x_parse.tab.h"
#include "xcompiler.h"
%}

%option noyywrap

NEWLINE		[\r\n]|\r\n
COMMENT		"//"[^\r\n]*{NEWLINE}
TYPE		char|int
INTEGER		[1-9]+[0-9]*|0|0x[1-9a-f]+[0-9a-f]*
ID		[a-z_A-Z][a-z0-9A-Z_]*

%%

{NEWLINE}	{}
{COMMENT}	{}
{TYPE}		{yylval.a=newast("TYPE",0,yylineno);return TYPE;}
{INTEGER}	{yylval.a=newast("INTEGER",0,yylineno);return INTEGER;}
{ID}		{yylval.a=newast("ID",0,yylineno);return ID;}
"+"		{yylval.a=newast("PLUS",0,yylineno);return PLUS;}
"-"		{yylval.a=newast("MINUS",0,yylineno);return MINUS;}
"="		{yylval.a=newast("ASSIGN",0,yylineno);return ASSIGN;}
";"		{yylval.a=newast("SEMI",0,yylineno);return SEMI;}
"("		{yylval.a=newast("LP",0,yylineno);return LP;}
")"		{yylval.a=newast("RP",0,yylineno);return RP;}

%%

